package com.asion.vmovie.ui.MVPContract;

import com.asion.vmovie.beans.DetialsBean;
import com.asion.vmovie.beans.MuHouTabBean;
import com.asion.vmovie.ui.MVPModel.BaseModel;
import com.asion.vmovie.ui.MVPPresenter.BasePresenter;
import com.asion.vmovie.ui.MVPView.BaseView;

/**
 * Created by asion on 16-10-18.
 */

public interface MuHouContract {

    interface Model extends BaseModel{
        void getTabData(OnTabDataPost onTabDataPost);
        void getDetialData(int p,int size,int cateid,OnDetialDataPost onDetialDataPost);
    }

    interface TabView extends BaseView<MuHouTabBean>{

    }

    abstract class  TabPresenter extends BasePresenter<TabView,Model>{
        public abstract void getTabData();
    }

    interface DetialView extends BaseView<DetialsBean>{

    }

    abstract class  DetialPresenter extends BasePresenter<DetialView,Model>{
        public abstract void getDetialData(int p,int size,int cateid);
    }

     interface OnTabDataPost{
        void onDataPostSuccess(MuHouTabBean muHouTabBean);
         void onDataPostError(Throwable throwable);
    }

    interface OnDetialDataPost{
        void onDataPostSuccess(DetialsBean detialsBean);
        void onDataPostError(Throwable throwable);
    }
}
